//
//  DataManager.h
//  YiShi
//
//  Created by  zyn on 15/1/4.
//  Copyright (c) 2015年 maochengfang. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "UIKit+AFNetworking.h"
#import "MBProgressHUD.h"
//#import "Model.h"
#import "Config.h"
//#import "UserModel.h"
#define DB_NAME [PATH_OF_DOCUMENT stringByAppendingPathComponent:@"book.sqlite"]
#define PATH_OF_DOCUMENT    [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]


//[docPath stringByAppendingPathComponent:@"Class.db"];
#define DATE_YEAR_MONTH_DAY_HOUR_MINUTE @"yyyy-MM-dd HH:mm"
#define DATE_YEAR_MONTH_DAY @"yyyy-MM-dd"
#define DATE_YEAR_MONTH_DAY_CHINA @"yyyy年MM月dd日"
#define DATE_MONTH_DAY @"MM-dd"
#define DATE_DAY @"dd"
#define DATE_MONTH @"MM"
#define DATE_YEAR @"yyyy"
#define DATE_WEEK_INDEX @"e" // 获取当前日期是星期几 星期天是1，然后依次到7

/** S_开头：NSString B_开头：BOOL I_开头：NSInteger 无开头默认作为NSString处理*/
#define B_CACHE_OPEN_FREE_TO_NIGHT @"b_cache_open_free_to_night" // 是否开启了今晚我有空

@interface DataManager : NSObject<UIAlertViewDelegate>
{
    MBProgressHUD *progress;
    UIViewController *vc;
}

+ (DataManager *)newInstance; // 初始化

/** 时间数据管理 **/
-(NSString *)getStringDate:(NSDate *)date dateType:(NSString *)type; // 获得选择时间字符串
-(NSDate *)getCurrentDate; // 获得当前时间
-(NSDate *)stringToDate:(NSString *)dateString; // string转date

/** 缓存数据管理 **/
-(void)saveCache:(NSString *)key value:(NSString *)value; // 缓存数据
-(void)saveBoolCache:(NSString *)key value:(BOOL)value;
-(NSString *)readCache:(NSString *)key; // 读取数据
-(BOOL)readBoolCache:(NSString *)key;
-(void)removeCache:(NSString *)key; // 删除某个缓存
-(void)clearCache; // 清除全部缓存
-(Boolean)checkCache:(NSString *)key; // 判断是否有缓存数据
//-(UserModel *)getAccountInfo;//获取用户信息
/** 消息提示框管理 **/
-(void)showAlert:(NSString *) _message;// 弹出框
-(void)timerFireMethod:(NSTimer*)theTimer;// 时间

/** 加载进度条管理 **/
-(DataManager *)init:(UIView *)view; // 初始化MBProgressHUD实例
-(void)showProgress:(NSString *)message; // 显示加载中
-(void)showProgress; // 显示加载中(没描述)
-(void)hideProgress; // 隐藏加载中

/** 数据库管理 */
-(void)createTable; // 创建表
//-(void)insertDBData:(Model *)model; // 插入数据
-(NSArray*)queryDBData; // 查询数据
-(void)deleteDBById:(NSString *)ID; // 根据id删除数据
-(void)clearDBData; // 清空某张表数据

/** 数据类型转换 */
-(NSString *)intToString:(NSInteger) value; // NSInteger快速转成string
-(NSString *)toString:(id)value; // 转为string;
-(NSString *)urlEncodedString:(NSString *)url; // url encode

/** base64 */
-(NSString *)imageToBase64:(UIImage *)image; // image转base64
-(UIImage *)base64ToImage:(NSString *)base64; // base64转image

/** 控件效果 */
-(void)setShadow:(UIView *)view; // 设置阴影效果
-(void)resetEdgeAntialiase:(UIView *)view; // 在使用view的缩放的时候，layer.border.width随着view的放大，会出现锯齿化的问题，解决这个问题需要设置这个属性

/** 其他 */
-(void)againLogin:(UIViewController *)controller state:(NSString *)stateCode;

/** Color相关 */
-(UIImage *)urlToUIImage:(NSString *)url; // url转uiimage
-(UIColor *)rgba:(NSInteger)red green:(NSInteger) green blue:(NSInteger)blue; // 获取自定义色值颜色
-(UIColor *)rgba_16:(NSString *)colorString; // 将16进制转成uicolor

/** 修改界面圆角 */
- (void)setRadius:(UIView *)view withCornerRadius:(CGFloat)cornerRadius BorderWidth:(CGFloat)BorderWidth andBorderColor:(CGColorRef)BorderColor;
- (void)setBtnRadius:(UIView *)view;

/** 弹出框动画 */
- (void)translationAnimation:(UIView *)view;
- (void)closeAnimation:(UIView *)view delegate:(id)delegate;









@end
